﻿using System;
using InseSoft.Models.Entities;
using InseSoft.ViewModels;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace InseSoft.Tests.Unit.ViewModels
{
    [TestClass]
    public class ApplicationSessionTest
    {
        [TestMethod]
        public void Clear_DefaultProperties()
        {
            var empresa = new Empresa {Id = int.MaxValue};
            var instance = new ApplicationSession
                {
                    Empresa = empresa,
                    Hoy = DateTime.Today,
                    TipoCambio = new TipoCambio {Id = int.MaxValue-1},
                    Usuario = new Usuario {NombreUsuario = Guid.NewGuid().ToString()}
                };
            instance.Clear();

            Assert.AreEqual(0, instance.Empresa.Id);
            Assert.AreEqual(DateTime.MinValue, instance.Hoy);
            Assert.AreEqual(0, instance.TipoCambio.Id);
            Assert.IsTrue(string.IsNullOrEmpty(instance.Usuario.NombreUsuario));
        }
    }
}
